/**
 * 
 */
package co.com.sed.model.beans;

import java.util.ArrayList;
import java.util.Date;

/**
 * @author Mejia
 *
 */
public class Evaluacion360 {
	private int idEvaluacion360;
	private Date fechaAsignacion;
	private Boolean estado;
	private Funcionario evaluado;
	private Periodo periodoEvaluado;
	private float resultado;
	
	private ArrayList<ResultadoGen> resultadosGen = null;
	private ArrayList<Eval360Indi> eval360Inds = null;
	

	/**
	 * 
	 */
	public Evaluacion360() {
	   super ();
	   this.resultadosGen = new ArrayList<ResultadoGen>();
	   this.eval360Inds = new ArrayList<Eval360Indi>();
	}
	
	

	/**
	 * @param idEvaluacion360
	 */
	public Evaluacion360(int idEvaluacion360) {
		super();
		this.idEvaluacion360 = idEvaluacion360;
	}



	

	/**
	 * @param idEvaluacion360
	 * @param fechaAsignacion
	 * @param estado
	 * @param evaluado
	 * @param periodoEvaluado
	 */
	public Evaluacion360(int idEvaluacion360, Date fechaAsignacion,
			Boolean estado, int evaluado, int periodoEvaluado, float resultado) {
		super();
		this.idEvaluacion360 = idEvaluacion360;
		this.fechaAsignacion = fechaAsignacion;
		this.estado = estado;
		this.evaluado =new Funcionario (evaluado);
		this.periodoEvaluado = new Periodo(periodoEvaluado);
		this.resultado = resultado;
	}


	/**
	 * @param fechaAsignacion
	 * @param estado
	 * @param evaluado
	 * @param periodoEvaluado
	 */
	public Evaluacion360(Date fechaAsignacion,
			Boolean estado, int evaluado, int periodoEvaluado, float resultado) {
		super();
		
		this.fechaAsignacion = fechaAsignacion;
		this.estado = estado;
		this.evaluado =new Funcionario (evaluado);
		this.periodoEvaluado = new Periodo(periodoEvaluado);
		this.resultado = resultado;
	}

		
	/**
	 * @param idEvaluacion360
	 * @param fechaAsignacion
	 * @param estado
	 * @param evaluado
	 * @param periodoEvaluado
	 * @param resultadosGen
	 * @param eval360Inds
	 */
	public Evaluacion360(int idEvaluacion360, Date fechaAsignacion,
			Boolean estado, int evaluado, int periodoEvaluado, float resultado,
			ArrayList<ResultadoGen> resultadosGen,
			ArrayList<Eval360Indi> eval360Inds) {
		super();
		this.idEvaluacion360 = idEvaluacion360;
		this.fechaAsignacion = fechaAsignacion;
		this.estado = estado;
		this.evaluado =new Funcionario (evaluado);
		this.periodoEvaluado = new Periodo(periodoEvaluado);
		this.resultado = resultado;
		
		this.resultadosGen = new ArrayList<ResultadoGen>();
		this.eval360Inds = new ArrayList<Eval360Indi>();
	}



	/**
	 * @return the idEvaluacion360
	 */
	public int getIdEvaluacion360() {
		return idEvaluacion360;
	}

	/**
	 * @param idEvaluacion360 the idEvaluacion360 to set
	 */
	public void setIdEvaluacion360(int idEvaluacion360) {
		this.idEvaluacion360 = idEvaluacion360;
	}

	/**
	 * @return the fechaAsignacion
	 */
	public Date getFechaAsignacion() {
		return fechaAsignacion;
	}

	/**
	 * @param fechaAsignacion the fechaAsignacion to set
	 */
	public void setFechaAsignacion(Date fechaAsignacion) {
		this.fechaAsignacion = fechaAsignacion;
	}

	/**
	 * @return the estado
	 */
	public Boolean getEstado() {
		return estado;
	}

	/**
	 * @param estado the estado to set
	 */
	public void setEstado(Boolean estado) {
		this.estado = estado;
	}

	/**
	 * @return the evaluado
	 */
	public Funcionario getEvaluado() {
		return evaluado;
	}

	/**
	 * @param evaluado the evaluado to set
	 */
	public void setEvaluado(Funcionario evaluado) {
		this.evaluado = evaluado;
	}

	/**
	 * @return the periodoEvaluado
	 */
	public Periodo getPeriodoEvaluado() {
		return periodoEvaluado;
	}

	/**
	 * @param periodoEvaluado the periodoEvaluado to set
	 */
	public void setPeriodoEvaluado(Periodo periodoEvaluado) {
		this.periodoEvaluado = periodoEvaluado;
	}
	
	public ArrayList<ResultadoGen> getResultadosGen () {
		return resultadosGen;
	}

	public void setResultadosGen(ArrayList<ResultadoGen> resultadosGen) {
		this.resultadosGen = resultadosGen;
		
		for(ResultadoGen resultadoGen : this.resultadosGen){
			resultadoGen.setResultado360(this);
		}
	
	}



	/**
	 * @return the eval360Inds
	 */
	public ArrayList<Eval360Indi> getEval360Inds() {
		return eval360Inds;
	}



	/**
	 * @param eval360Inds the eval360Inds to set
	 */
	public void setEval360Inds(ArrayList<Eval360Indi> eval360Inds) {
		this.eval360Inds = eval360Inds;
		
		for(Eval360Indi eval360Ind : this.eval360Inds){
			eval360Ind.setEvaluacion360(this);
		}
	}



	/**
	 * @return the resultado
	 */
	public float getResultado() {
		return resultado;
	}



	/**
	 * @param resultado the resultado to set
	 */
	public void setResultado(float resultado) {
		this.resultado = resultado;
	}
	
	
	
}
